﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DTO;
using BUS;

namespace NGU
{
    public partial class DichVuKhachSan : System.Web.UI.Page
    {
        protected List<RoomDTO> roomLst;
        protected string txtLoaiPhong = "...";
        protected string txtHangPhong = "...";
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ErrorPage = "/InfoPage.aspx?action=error&type=unknown";
            if (Request["action"] != null)
            {
                string action = Request["action"].ToString();
                switch (action)
                {
                    case "search":
                        searchRoom();
                        break;
                    case "search_extend":
                        int hotelIndex = Request["hotel"] != null ? int.Parse(Request["hotel"].ToString()) : 0;
                        string fromDate = Request["fromdate"] != null ? Request["fromdate"].ToString() : DateTime.Now.ToShortDateString();
                        string toDate = Request["todate"] != null ? Request["todate"].ToString() : DateTime.Now.ToShortDateString();
                        HotelBUS hotelBus = new HotelBUS();
                        this.roomLst = hotelBus.timKiemPhongMoRong(hotelIndex, fromDate, toDate);
                        this.span_fromdate.InnerHtml = fromDate;
                        this.span_todate.InnerHtml = toDate;
                        if (this.roomLst.Count == 0)
                        {
                            this.no_info_msg.InnerHtml = "Hiện tại đại lý chưa có thông tin phòng này. Bạn có thể liên hệ trực tiếp đại lý nếu có nhu cầu.";
                            return;
                        }
                        break;

                }
            }
            else
            {
                this.roomLst = new List<RoomDTO>();
            }
        }

        private void searchRoom()
        {
            //lay hotel index
            int hotelIndex = Request["hotel"] != null ? int.Parse(Request["hotel"].ToString()) : 0;

            //lay chuoi loai phong tu request : format cua request "maloaiphong#tenloaiphong"
            string lp = Request["loaiphong"] != null ? Request["loaiphong"].ToString() : "0#";
            int lpPoundIndex = lp.IndexOfAny(new char[]{'#'});
            string malp = lp.Substring(0,lpPoundIndex);

            //lay chuoi hang phong tu request : format cua request "mahangphong#tenhangphong"
            this.txtLoaiPhong = lp.Substring(lpPoundIndex + 1, lp.Length - lpPoundIndex -1);
            string hp = Request["hangphong"] != null ? Request["hangphong"].ToString() : "0#";
            int hpPoundIndex = hp.IndexOfAny(new char[] { '#' });
            string mahp = hp.Substring(0, hpPoundIndex);
            this.txtHangPhong = hp.Substring(hpPoundIndex + 1, hp.Length - hpPoundIndex-1);

            //get thong tin tu csdl
            HotelBUS hotelBus = new HotelBUS();
            this.roomLst = hotelBus.timKiemPhong(hotelIndex, malp, mahp);
            if (this.roomLst.Count == 0)
            {
                this.no_info_msg.InnerHtml = "Hiện tại đại lý chưa có thông tin phòng này. Bạn có thể liên hệ trực tiếp đại lý nếu có nhu cầu.";
                return;
            }

        }
    }
}